package licode.unisop.single.platform.infrastructure.repository.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Map;

/**
 * PlatformPO
 * 
 * @author licode
 * @date 2016-08-27 18:14:10 
 */
@Data
@ToString
@TableName (value = "au_platform", autoResultMap = true)
public class PlatformPO implements Serializable {

    private static final long serialVersionUID =  8767145519229758852L;

    /**
     * 平台ID
     */
    @TableId(type = IdType.INPUT)
    private String id;

    /**
     * 领域ID
     */
    private String realmId;

    /**
     * 数据提供者ID
     */
    private String providerId;

    /**
     * 平台名称
     */
    private String name;

    private String label;

    /**
     * 平台密钥
     */
    private String secret;

    /**
     * 平台密钥加盐
     */
    private String salt;

    /**
     * 是否共享
     */
    private String userShare;

    /**
     * 是否可编辑（0：不可编辑，1：可编辑）
     */
    private Integer canEdit;

    /**
     * 备注
     */
    private String comment;

    /**
     * 状态（0：未激活；1：正常；2：停用）
     */
    private Integer state;

    /**
     * 登录后跳转地址
     */
    private String homeUrl;

    /**
     * 票据换取地址
     */
    private String ticketUrl;

    /**
     * 存储平台属性
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private Map<String, Object> props;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

}
